// 假设原始树结构 origin 中的每个节点有 id、name 和 children 属性，
// 而目标结构 result 中的每个节点需要把 id 转换为 key，
// 并且对 name 进行一些额外处理（例如添加前缀），同时递归处理子节点。

// 定义转换函数
function convertTree(originTree) {
  if (!originTree) {
    return null;
  }
  // 转换当前节点
  const convertedNode = {
    key: originTree.id,
    name: `Prefix-${originTree.name}`
  };
  // 递归处理子节点
  if (originTree.children && originTree.children.length > 0) {
    convertedNode.children = originTree.children.map(convertTree);
  }
  return convertedNode;
}

// 示例原始树结构
const origin = {
  id: 1,
  name: 'Root',
  children: [
    {
      id: 2,
      name: 'Child1',
      children: [
        {
          id: 3,
          name: 'GrandChild1',
          children: []
        }
      ]
    },
    {
      id: 4,
      name: 'Child2',
      children: []
    }
  ]
};

// 进行转换
const result = convertTree(origin);
console.log(result);
